package com.ship.dispatch.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.mapping.Label;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel("调度甘特图入参实体Dto")
public class ArrangeSchemeChartSimpleDto {

    /**
     * 方案ID
     */
    @ApiModelProperty(value = "方案ID")
    private String schemeId;

    /**
     * 方案详情ID
     */
    @ApiModelProperty(value = "方案详情ID")
    private String schemeDetailId;

    /**
     * 数据类型（0：个人草稿，1：共享数据）
     */
    @ApiModelProperty(value = "数据类型（1：个人草稿，2：共享数据）")
    private Integer dataType;

    /**
     * 计划ID
     */
    @ApiModelProperty(value = "计划ID")
    private String planId;

    /**
     * 资源合同id
     */
    @ApiModelProperty(value = "资源合同id")
    private Long conId;

    /**
     * 装载港id数组，loadingSort:[1,2...]
     */
    private List<Long> loadingSort;

    /**
     * 预计装载时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedLoadingDate;

    /**
     * 货量
     */
    private BigDecimal goodsQuantity = BigDecimal.ZERO;

    /**
     * 货量单位(1:MMBtu,2:m³,3:MT)
     */
    @Label(value = "货量单位",enumContent = "装卸载量单位",multiSelect = true)
    private Integer quantityUnit;

    /**
     * 船速
     */
    private BigDecimal speed;

    /**
     * 卸载港id数组，unloadSort:[1,2...]
     */
    private List<Long> unloadSort;

    /**
     * 预计卸载时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedUnloadingWindow;

    /**
     * 卸载量
     */
    private BigDecimal unloadGoodsQuantity = BigDecimal.ZERO;

    /**
     * 卸载量货量单位(1:MMBtu,2:m³,3:MT)
     */
    @Label(value = "货量单位",enumContent = "装卸载量单位",multiSelect = true)
    private Integer unloadQuantityUnit;

    /**
     * 途径海峡（多个用英文“,”分隔）
     */
    private String passStrait;

    /**
     * 途径海区（多个用英文“,”分隔）
     */
    private String passArea;

    /**
     * 航线数组 1巴拿马，2好望角，3苏伊士
     * route:[1,2,3]
     */
    private List<Integer> route;
}
